package main

import (
	"fmt"
	"io"
)

// 问题抽象出来：当偶数时，字符串保持此不变， 奇数时，按位取反
func isValid(s, t string, n int) bool {
	// 1. 偶数次，必须二者相等
	if n%2 == 0 && s != t {
		return false
	}
	// 2. 如果奇数次， 就要看t是否和 s取反后相同
	if n%2 == 1 {
		for i := 0; i < len(s); i++ {
			c := (s[i] - '0' + 1) % 2
			if c != t[i]-'0' {
				return false
			}
		}
	}

	return true
}

func main() {
	for {
		// 读取字符串
		var n int
		var s, t string
		_, err := fmt.Scanf("%d\n%s\n%s", &n, &s, &t)
		if err == io.EOF {
			break
		}
		if isValid(s, t, n) {
			fmt.Println("Deletion succeeded")
		} else {
			fmt.Println("Deletion failed")
		}
	}
}
